// pages/chat/chat.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo:{},
    msg:"",
    scrollTop:0,
    newslist:[
      {
        id:1,
        username:"夜宵",
        photo:"https://ps.ssl.qhimg.com/t01e7edb7d086191691.jpg",
        content:"你好呀你好呀",
        type:"txt"
      }

    ]
  },

  // input的输入事件函数
  // 函数even是事件对象，里面保存了输入框中的数据
  myinput:function(event){
    console.log(event.detail.value)
    this.setData({
      msg:event.detail.value
    })
  },

  // button按钮的点击事件
  send:function(){
    // 保存this
    let that = this;
    // 输入框中的数据不能为空，才能发送消息
    if(!that.data.msg){
      wx.showToast({
        title: '消息不能为空',
      })
      //结束函数的执行
      return;
    }else{
    // 1.封装一个消息对象
    let obj = {
      id:that.data.newslist.length + 1,
      username:that.data.userInfo.nickName,
      photo:that.data.userInfo.avatarUrl,
      content:that.data.msg,
      type:"txt"
    }
    // 2.将这个消息对象添加到数组中
    that.setData({
      // concat函数用于数组添加一个数组
      newslist:that.data.newslist.concat(obj)  
    })
    // 3.发起网络请求,并且将消息传递到服务器
    //   url表示服务器的接口地址
    //   method表示请求方式,选择GET和POST
    //   data表示传递到服务器的数据, question表示服务器中用来存放数据的变量
    //   success表示请求成功后执行的函数，返回的数据放在了data中
    wx.request({
      // http://www.thd.cool:8000/chat智能服务器网址
      url: 'http://www.thd.cool:8000/chat',
      method:"GET",
      data:{
        question:that.data.msg
      },
      success:function(res){
        // console.log(res)
        let answerObj = {
          id: that.data.newslist.length + 1,
          username:"夜宵",
          photo:"https://ps.ssl.qhimg.com/t01e7edb7d086191691.jpg",
          content: res.data.result.data.answer,
          type:"txt"
        }
        that.setData({
          newslist:that.data.newslist.concat(answerObj),
          msg:"",
          scrollTop:that.data.scrollTop + 100
        })
      }
    })
  }
},

upload: function() {
  let that = this;
  // count：选择图片的最大数量
  // sizeType：图片大小，original表示原始图、compressed表示缩略图
  // sourceType： 图片来源，album本地图片，camera使用相机拍摄的图片
  // success：选择图片成功执行的函数
  wx.chooseImage({
    count: 1,
    sizeType: ["original", "compressed"],
    sourceType: ["album", "camera"],
    success: function(res) {
      console.log(res)
      let imgObj = {
          id: that.data.newslist.length + 1,
          username: that.data.userInfo.nickName,
          photo: that.data.userInfo.avatarUrl,
          content: res.tempFilePaths[0],
          type: "img"
      }
      that.setData({
          newslist: that.data.newslist.concat(imgObj),
          scrollTop: that.data.scrollTop + 200
      });

        // 上传图片到服务器
        wx.uploadFile({
          filePath: res.tempFilePaths[0],
          name: 'file',
          url: 'http://www.thd.cool:8000/face',
          header: {
              "Content-Type": "form-data"
          },
          success: function(mydata){
            console.log(mydata.data)
            let jsonObj = JSON.parse(mydata.data);
            let age = jsonObj.faceinfo.age;
            let beauty = jsonObj.faceinfo.beauty;
            let smile = "";
            if(jsonObj.faceinfo.expression > 50) {
                smile = "哈哈大笑"
            } else {
                smile = "微笑"
            }
            let sex = "";
            if(jsonObj.faceinfo.gender > 50) {
                sex = "男";
            } else {
                sex = "女";
            }
            let glass = "";
            if(jsonObj.faceinfo.glass == 0) {
                glass = "没有戴眼镜"
            } else {
                glass = "带了眼镜也这么美~"
            }

            let faceInfo = `面部识别结果是：
                            性别：${sex}
                            年龄：${age}
                            魅力值： ${beauty}
                            面部表情： ${smile}
                            ${glass}`

            let msgObj = {
                id: that.data.newslist.length + 1,
                username: "夜宵",
                photo: "https://ps.ssl.qhimg.com/t01e7edb7d086191691.jpg",
                content: faceInfo,
                type: "txt"
            }

            that.setData({
                newslist: that.data.newslist.concat(msgObj),
                scrollTop: that.data.scrollTop + 400
            })
          }
        })

      }
    })
},


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(app.globalData.userInfo)
      this.setData({
        userInfo:app.globalData.userInfo
      })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})